class Admin::ProductsController < Admin::AdminController
  filter_resource_access :additional_member => [[:clone, :edit]], :attribute_check => true

  add_crumb("Správa výrobků", :only => :index) {}
  add_crumb("Správa výrobků", :admin_products_path, :except => :index)
  add_crumb("Editace výrobku", :only => [:edit, :update]) {}
  add_crumb("Nový výrobek", :only => [:new, :create]) {}

  def index
    @search = Product.not_deleted.search(params[:search])
    @products = @search.page(params[:page])
  end

  def show
    render :action => :show, :layout => "application"
  end

  def new
  end

  def edit
  end

  def create
    if @product.save
      redirect_to :back, :notice => "Výrobek byl úspěšně vytvořen. #{undo_link(@product)}"
    else
      render :action => :new
    end
  end

  def update
    if @product.update_attributes(params[:product])
      redirect_to admin_products_path, :notice => "Výrobek byl úspěšně upraven. #{undo_link(@product)}"
    else
      render :action => :new
    end
  end

  def revive
    @product.revive
  end

  def destroy
    if @product.destroy
      flash[:notice] = "Výrobek byl úspěšně smazán. #{undo_link(@product)}"
    else
      flash[:error] = "Výrobek se nepodařilo smazat."
    end

    redirect_to admin_products_path
  end

  def clone
#    @cloned_product = @product.dup :include => [:tax_category, :amount_type, :variants, :master]
#
#    @product = Product.new(@cloned_product.attributes)
#    @product.master = @cloned_product.master
#    @product.variants = @cloned_product.variants
#    @product.url = "#{@product.url} - KOPIE #{rand(666)}"
#    @product.save(false)

    @product.dup :include => :master
    
    #@cloned_product = @product.dup :include => :master
    #@cloned_product.url = "#{@product.url} - KOPIE #{rand(1000)}"
    #@cloned_product.save(:validate => false)
    
    flash[:notice] = "Kopie výrobku byla úspěšně vytvořena."
    redirect_to :back
  end
end
